<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Credor extends MY_Controller {

	public function __construct()
	{
		parent::__construct();
	}

	public function index()
	{
		redirect('credor/listar');
	}

	public function listar()
	{

		$this->template->set_template('alternative');
		$this->template->add_js('system/credor/listar.js');
		$this->template->write_view('content', 'credor/listar_view');
		$this->template->render();
	}

	public function agrid_credor()
	{
		$this->load->model('credor_model');
		

		$limite = $this->input->post('iDisplayLength');
		$start  = $this->input->post('iDisplayStart');
		$sort   = $this->input->post('iSortCol_0');
		$order  = $this->input->post('sSortDir_0');

		switch ($sort) {
			case 1:
				$sort_field = 'credor.cr_id';
				break;
			case 2:
				$sort_field = 'credor.cr_nome';
				break;
			case 3:
				$sort_field = 'credor.cr_status';
				break;
			default:
				$sort_field = 'credor.cr_nome';
				break;
		}
		
		$cr = new credor_model();
		$credores = $cr->get_to_grid($sort_field, $order, $start, $limite, $this->input->post());

		$resp['iTotalRecords']        = $credores['total'];
		$resp['iTotalDisplayRecords'] = $credores['total'];

		$resp['aaData'] = array();
		$indice = 0;
		foreach ($credores['get']->result() as $row)
		{
			$j = 0;

			$resp['aaData'][$indice][$j++] = '<input type="checkbox" name="check_iten[]" value="'.$row->cr_id.'" />';
			$resp['aaData'][$indice][$j++] = $row->cr_id;
			$resp['aaData'][$indice][$j++] = $row->cr_nome;
			$resp['aaData'][$indice][$j++] = $row->cr_status;			

			$indice++;
		}

		echo json_encode($resp);
	}

	public function acadastrar_credor()
	{
		parse_str($this->input->post('form'), $_POST);

		$resp = array();

		$this->load->model
		('credor_model');
		$cr = new Credor_model();

		$dados = array(
			'cr_nome'   => $_POST['txt_nome'],
			'cr_status' => $_POST['radio_status']
		);

		$id = $cr->inserir($dados);

		if ($id > 0) {
			// Tudo ok
			$resp['erro'] = 0;
		} else {
			$resp['erro']++;
			$resp['msg'] = 'Erro ao cadastrar.';
		}

		echo json_encode($resp);
	}

	public function aexcluir_credor()
	{
		$this->load->model('credor_model', 'credor');
		
		$resp = array(
			'erro' => 0
		);

		parse_str($_POST['form'], $_POST);

		$excluidos = $this->credor->exclui_credor_massa($_POST['check_iten']);

		if ($excluidos === FALSE) 
		{
			// Erro de banco de dados
			$resp['erro']++;
			$resp['msg'] = '<strong>O credor não pode ser excluído porque está vinculado a outros registros!</strong>';
		}
		else
		{
			$resp['msg'] = "<strong>$excluidos credor(es) excluído(s) com sucesso!</strong>";
		}

		echo json_encode($resp);
	}
}